package com.h3c.nem.entity;

import java.util.Date;
import javax.persistence.*;

import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
    import io.swagger.annotations.ApiModelProperty;

/**
 * Copyright (C), 2020-2020, h3c
 * FileName: TbFlowInst
 *
 * @Author: l22886
 * @Date: 2022-01-19
 * Description: tb_flow_inst 实体
 * Version: 1.0
 */
@ApiModel(value="TbFlowInst对象", description="")
@Table(name = "tb_flow_inst")
public class TbFlowInst {


    @ApiModelProperty(value = "流程实例ID")
    @TableId
    @Column(name = "flow_id")
    private String flowId;

    @ApiModelProperty(value = "审批流程编号:N1 月度承诺填写审核流程；N2 月度考核流程；N3 转正计划填写审核流程；N4 转正考核评价流程； N5 小任务流程；")
    @Column(name = "flow_code")
    private String flowCode;

    @ApiModelProperty(value = "审批流程名称")
    @Column(name = "flow_name")
    private String flowName;

    @ApiModelProperty(value = "员工工号（新员工或导师）")
    @Column(name = "worker_id")
    private String workerId;

    @ApiModelProperty(value = "员工姓名")
    @Column(name = "worker_name")
    private String workerName;

    @ApiModelProperty(value = "员工所属部门")
    @Column(name = "worker_dept_id")
    private Integer workerDeptId;

    @ApiModelProperty(value = "流程状态：11 填写月度工作承诺；12 月度承诺审核；13 月度考核评价；21 填写转正计划；22 转正计划审核;23 转正考核评价；31 执行小任务；32 审核小任务；99 已完成；")
    @Column(name = "flow_status")
    private Integer flowStatus;

    @ApiModelProperty(value = "当前环节名称")
    @Column(name = "current_stage")
    private String currentStage;

    @ApiModelProperty(value = "创建时间")
    @Column(name = "create_time")
    private Date createTime;

    @ApiModelProperty(value = "当前环节到达时间")
    @Column(name = "arrive_time")
    private Date arriveTime;

    @ApiModelProperty(value = "完成时间")
    @Column(name = "finish_time")
    private Date finishTime;

    @ApiModelProperty(value = "当前处理人工号")
    @Column(name = "approval_user_ids")
    private String approvalUserIds;

    @ApiModelProperty(value = "历史处理人工号")
    @Column(name = "approved_user_ids")
    private String approvedUserIds;

    @ApiModelProperty(value = "流程说明（预留）")
    @Column(name = "flow_note")
    private String flowNote;

    public String getFlowId() {
        return flowId;
    }

    public void setFlowId(String flowId) {
        this.flowId = flowId;
    }

    public String getFlowCode() {
        return flowCode;
    }

    public void setFlowCode(String flowCode) {
        this.flowCode = flowCode;
    }

    public String getFlowName() {
        return flowName;
    }

    public void setFlowName(String flowName) {
        this.flowName = flowName;
    }

    public String getWorkerId() {
        return workerId;
    }

    public void setWorkerId(String workerId) {
        this.workerId = workerId;
    }

    public String getWorkerName() {
        return workerName;
    }

    public void setWorkerName(String workerName) {
        this.workerName = workerName;
    }

    public Integer getWorkerDeptId() {
        return workerDeptId;
    }

    public void setWorkerDeptId(Integer workerDeptId) {
        this.workerDeptId = workerDeptId;
    }

    public Integer getFlowStatus() {
        return flowStatus;
    }

    public void setFlowStatus(Integer flowStatus) {
        this.flowStatus = flowStatus;
    }

    public String getCurrentStage() {
        return currentStage;
    }

    public void setCurrentStage(String currentStage) {
        this.currentStage = currentStage;
    }

    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getArriveTime() {
        return arriveTime;
    }
    public void setArriveTime(Date arriveTime) {
        this.arriveTime = arriveTime;
    }

    public Date getFinishTime() {
        return finishTime;
    }
    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }

    public String getApprovalUserIds() {
        return approvalUserIds;
    }

    public void setApprovalUserIds(String approvalUserIds) {
        this.approvalUserIds = approvalUserIds;
    }

    public String getApprovedUserIds() {
        return approvedUserIds;
    }

    public void setApprovedUserIds(String approvedUserIds) {
        this.approvedUserIds = approvedUserIds;
    }

    public String getFlowNote() {
        return flowNote;
    }

    public void setFlowNote(String flowNote) {
        this.flowNote = flowNote;
    }

    @Override
    public String toString() {
        return "TbFlowInst{" +
                "flowId=" + flowId +
                ", flowCode=" + flowCode +
                ", flowName=" + flowName +
                ", workerId=" + workerId +
                ", workerName=" + workerName +
                ", workerDeptId=" + workerDeptId +
                ", flowStatus=" + flowStatus +
                ", currentStage=" + currentStage +
                ", createTime=" + createTime +
                ", arriveTime=" + arriveTime +
                ", finishTime=" + finishTime +
                ", approvalUserIds=" + approvalUserIds +
                ", approvedUserIds=" + approvedUserIds +
                ", flowNote=" + flowNote +
                "}";
    }
}
